//package com.yuncheng.oaApi.FlowController;
//
//import org.apache.commons.collections.CollectionUtils;
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.yuncheng.oaApi.FlowService.NewNkRsBxlcFlowService;
//import com.yuncheng.annotation.AutoLog;
//import com.yuncheng.oaApi.busService.FlowNodeDbrService;
//import com.yuncheng.oaApi.busService.MyLcFlowService;
//import com.yuncheng.oaApi.constant.CommonFlowConstant;
//import com.yuncheng.oaApi.constant.NkConstant;
//import com.yuncheng.oaApi.constant.OaFlowConstant;
//import com.yuncheng.oaApi.entity.*;
//import com.yuncheng.exception.BusinessException;
//import com.yuncheng.oaApi.mapper.NkRsBxLcFlowMapper;
//import com.yuncheng.oaApi.mapper.NkRsBxlcMapper;
//import com.yuncheng.oaApi.service.*;
//import com.yuncheng.spcyApi.utils.DateConvert;
//import com.yuncheng.oaApi.utils.GetUuIdUtils;
//import com.yuncheng.utils.ThreadContextHelper;
//import com.yuncheng.vo.*;
//import groovy.lang.Lazy;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiImplicitParam;
//import io.swagger.annotations.ApiImplicitParams;
//import io.swagger.annotations.ApiOperation;
//import org.apache.commons.beanutils.BeanUtils;
//import org.apache.commons.beanutils.ConvertUtils;
//import org.apache.commons.lang3.StringUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.web.bind.annotation.*;
//import utils.LogUtils;
//import utils.ObjectToMapUtils;
//
//import javax.annotation.Resource;
//import java.lang.reflect.InvocationTargetException;
//import java.time.LocalDateTime;
//import java.time.format.DateTimeFormatter;
//import java.util.*;
//
//@Api(tags = "NEW_NK-报销申请流程")
//@RestController
//@RequestMapping("/api/spzx-oa/nk-bxsqlc")
//public class NewNkRsBxlcFlowController {

//
//    /**
//     * 查询当前申请人的部门的项目预算指标
//     */
//    @AutoLog(value = "查询当前申请人部门的项目预算指标")
//    @ApiOperation(value = "查询当前申请人部门的项目预算指标")
//    @GetMapping("selectXmyszb")
//    public HttpResult selectXmyszb(String fxmyszbid){
//        List<NkRsXmyszbb> list = new ArrayList();
//        if (StringUtils.isNotBlank(fxmyszbid)){
//
//            list = nkRsXmyszbbService.list(new LambdaQueryWrapper<NkRsXmyszbb>()
//                                                    .eq(NkRsXmyszbb::getId, fxmyszbid));
//        }
//        return HttpResult.ok(list);
//
//    }
//
//    /**
//     * 查询当前报销流程下的申请明细
//     */
//    @AutoLog(value = "查询当前报销流程下的申请明细-根据申请id")
//    @ApiOperation(value = "查询当前报销流程下的申请明细-根据申请id")
//    @GetMapping("selectbxmx")
//    public HttpResult selectbxmx(String id){
//
//        List<NkRsBxmxxm> list = nkRsBxmxxmService.list(new LambdaQueryWrapper<NkRsBxmxxm>().eq(NkRsBxmxxm::getFbxsqid, id));
//        return HttpResult.ok(list);
//
//    }
//
//    /**
//     * 流程列表分页查询
//     * @param
//     * @param pageNo
//     * @param pageSize
//     * @param onlyCurrentUser
//     * @return
//     */
//    @AutoLog(value = "流程监控-分页查询")
//    @ApiOperation(value = "流程监控-分页查询")
//    @GetMapping("flowJkPage")
//    public HttpResult flowJkPage(
//            NkRsBxLcVo nkRsBxLcVo,
//            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
//            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
//            @RequestParam(name = "onlyCurrentUser", defaultValue = "false") boolean onlyCurrentUser) {
//        CurrentUserVo user = ThreadContextHelper.getCurrentUser();
//        if (user == null) {
//            return HttpResult.error("请重新登录，Token已失效！");
//        }
//        nkRsBxLcVo.setFlcmc(OaFlowConstant.NK_BXSQLC_NAME);
//        Page<NkRsBxLcVo> page = new Page<>(pageNo, pageSize);
//        IPage<NkRsBxLcVo> list = nkRsBxLcFlowMapper.flowJkPage(page,onlyCurrentUser,user,nkRsBxLcVo);
//        return HttpResult.ok(list);
//    }
//
//    /**
//     * 流程列表分页查询
//     * @param
//     * @param pageNo
//     * @param pageSize
//     * @param onlyCurrentUser
//     * @return
//     */
//    @AutoLog(value = "流程列表-分页查询")
//    @ApiOperation(value = "流程列表-分页查询")
//    @GetMapping("flowJobPage")
//    public HttpResult<?> flowJobPage(
//            NkRsBxLcVo nkRsBxLcVo,
//            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
//            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
//            @RequestParam(name = "onlyCurrentUser", defaultValue = "true") boolean onlyCurrentUser) {
//        CurrentUserVo user = ThreadContextHelper.getCurrentUser();
//        if (user == null) {
//            return HttpResult.error("请重新登录，Token已失效！");
//        }
//        nkRsBxLcVo.setFlcmc(OaFlowConstant.NK_BXSQLC_NAME);
//        if (StringUtils.isBlank(nkRsBxLcVo.getFblzt())) {
//            nkRsBxLcVo.setFblzt(CommonFlowConstant.BLZT_DB);
//        }
//        Page<NkRsBxLcVo> page = new Page<>(pageNo, pageSize);
//        IPage<NkRsBxLcVo> list = nkRsBxLcFlowMapper.flowJobPage(page, onlyCurrentUser, user, nkRsBxLcVo);
//        return HttpResult.ok(list);
//    }
//
//
//    /**
//     * 我的已办
//     */
//    @AutoLog(value = "流程列表-我的已办")
//    @ApiOperation(value = "流程列表-我的已办")
//    @GetMapping("myJobPage")
//    public HttpResult<?> myJobPage(
//            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
//            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
//            NkRsBxLcVo nkRsBxLcVo) {
//        CurrentUserVo user = ThreadContextHelper.getCurrentUser();
//        if (user == null) {
//            return HttpResult.error("请重新登录，Token已失效！");
//        }
//        Page<NkRsBxLcVo> page = new Page<>(pageNo, pageSize);
//        IPage<NkRsBxLcVo> list = nkRsBxLcFlowMapper.myYbFlowPage(page, true, user, nkRsBxLcVo);
//        return HttpResult.ok(list);
//    }
//
//    @AutoLog(value = "报销统计(支出统计)")
//    @ApiOperation(value = "报销统计(支出统计)")
//    @GetMapping(value = "bxsqStatPageList")
//    public HttpResult bxsqStatPageList(NkBxlcVo bxlc,
//                                       @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
//                                       @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize){
//        Page<NkBxlcVo> page = new Page<>(pageNo, pageSize);
//        bxlc.setFlczt(CommonFlowConstant.FLOW_LCJS);
//
//        IPage<NkBxlcVo> pageList = nkRsBxlcMapper.findBxmxPageList(page, bxlc);
//        return HttpResult.ok(pageList);
//    }
//
//    /**
//     * 数据修订
//     */
//    @AutoLog(value = "列表-数据修订")
//    @ApiOperation(value = "列表-数据修订")
//    @GetMapping("Pagesjxd")
//    public HttpResult<?> Pagesjxd(
//            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
//            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
//            NkRsBxLcVo nkRsBxLcVo) {
//
//        CurrentUserVo user = ThreadContextHelper.getCurrentUser();
//        if (user == null) {
//            return HttpResult.error("请重新登录，Token已失效！");
//        }
//
//        Page<NkRsBxLcVo> page = new Page<>(pageNo, pageSize);
//        IPage<NkRsBxLcVo> list = nkRsBxLcFlowMapper.myYbFlowPage(page, false, user, nkRsBxLcVo);
//        return HttpResult.ok(list);
//    }
//
//
//
//
//    @AutoLog(value = "发起报销审批流程")
//    @ApiOperation(value = "发起报销审批流程")
//    @PostMapping(value = "initBzFlow")
//    public HttpResult<?> initBzFlow(@RequestBody NkRsBxlc nkRsBxlc) {
//
//        String oaid = "";
//        //当前人的id
//        CurrentUserVo currentUser = ThreadContextHelper.getCurrentUser();
//        if (currentUser == null) {
//            return HttpResult.error("当前登录已失效，请重新登录");
//        }
//        if (StringUtils.isNotBlank(nkRsBxlc.getId())){
//            NkRsBxlc nkids = nkRsBxlcService.getById(nkRsBxlc.getId());
//
//            ConvertUtils.register(new DateConvert(), Date.class);
//            try {
//                BeanUtils.populate(nkids, BeanUtils.describe(nkRsBxlc));
//            } catch (IllegalAccessException e) {
//                log.error("出错-保存事项【非法访问异常】,{}", e.getMessage());
//            } catch (InvocationTargetException e) {
//                log.error("出错-保存事项【调用TargetException】,{}", e.getMessage());
//            } catch (NoSuchMethodException e) {
//                log.error("出错-找不到可用方法", e.getMessage());
//            }
//            oaid = nkRsBxlc.getId();
//
//            // Date日期单独做处理
//
//            nkids.setFtjrid(currentUser.getId());
//
//            nkRsBxlcService.updateById(nkids);
//        }else {
//            oaid = GetUuIdUtils.ReplaceUuId();
//            String timeStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//
//            nkRsBxlc.setId(oaid);
//            nkRsBxlc.setFtjr(currentUser.getName());
//            nkRsBxlc.setFtjrid(currentUser.getId());
//            nkRsBxlc.setFtjrbm(currentUser.getDeptName());
//            nkRsBxlc.setFsqrq(timeStr);
//            if (StringUtils.isNotBlank(nkRsBxlc.getFccid())){
//                //出差申请流程结束后直接调报销申请流程 之后 开始录入字段
//                nkRsBxlc.setFbxlx(NkConstant.BXLX_SHBX);
//                nkRsBxlc.setFccid(nkRsBxlc.getFccid());
//
//                NkRsCcsp rsccsp = nkRsCcspService.getById(nkRsBxlc.getFccid());
//                rsccsp.setFbxzt(NkConstant.BXZT_BXZ);
//                nkRsCcspService.updateById(rsccsp);
//
//                nkRsBxlc.setFtjr(rsccsp.getFxm());
//                nkRsBxlc.setFtjrid(rsccsp.getFuserid());
//                nkRsBxlc.setFtjrbm(rsccsp.getFtbdw());
//            }else {
//                nkRsBxlc.setFbxlx(NkConstant.BXLX_ZJBX);
//            }
//
//            nkRsBxlc.setFlczt(CommonFlowConstant.FLOW_LCZB);
//
//            nkRsBxlcService.save(nkRsBxlc);
//        }
//
//        /**
//         * @Author: lhb
//         * @Description : 是否发起流程   如果是开始申请就跳转流程
//         *               在这里设置  指定下个环节节点 做当前跳转流程的判断，然后设置变量接收环节的值，写到nextNodeName中
//         * @DateTime:
//         * @Params: Fsffqlc
//         */
//        String msg = "保存成功";
//        String lcmbCode = OaFlowConstant.NK_BXSQLC;
//
//        OaJob job = new OaJob();
//        // 初始化流程
//        Result result = newNkRsBxlcFlowService.createProcess(lcmbCode,oaid, currentUser);
//        //做一次规则校验 如果查到此oaid 在表中已经插入 那就执行更新
//        NkRsBxlc nkRsBxlcServiceById = nkRsBxlcService.getById(oaid);
//        List<OaProcessBusiness> oaProcessBusinessList = oaProcessBusinessService.list(new LambdaQueryWrapper<OaProcessBusiness>()
//                .eq(OaProcessBusiness::getFpid, oaid));
//        String bt = currentUser.getName()+"提交的报销申请"; //标题
//        String zy = "申请日期:["+nkRsBxlcServiceById.getFsqrq() +"]"+"\n"
//                +"摘要:["+ nkRsBxlcServiceById.getFzy() + "]"+"\n";
//        if (oaProcessBusinessList.size() == 0){
//            //初始化的时候 像 流程业务主表添加拼接初始化数据
//            oaProcessBusinessService.addProcess(oaid,zy,bt,lcmbCode,OaFlowConstant.NK);
//
//        }else {
//            String id = oaProcessBusinessList.get(0).getId();  //当前已经插入的主键id 然后更新 摘要信息
//            OaProcessBusiness oaProcessBusiness = oaProcessBusinessService.getById(id);
//            oaProcessBusiness.setFzy(zy);
//            oaProcessBusinessService.updateById(oaProcessBusiness);
//
//        }
//        //如果项目预算指标id 不为空
//        List<NkRsXmyszbb> nkRsXmyszbbs = new ArrayList();
//        if (StringUtils.isNotBlank(nkRsBxlc.getFxmyszbid())){
//            nkRsXmyszbbs = nkRsXmyszbbService.list(new LambdaQueryWrapper<NkRsXmyszbb>().eq(NkRsXmyszbb::getId, nkRsBxlc.getFxmyszbid()));
//
//        }
//
//        if (!result.isSuccess()){
//            return HttpResult.error(result.getMessage());
//        }else {
//            job = (OaJob)result.getResult();
//            if (job != null) {
//                // 是否提交流程
//                if(StringUtils.isBlank(oaid)){
//                    return HttpResult.error("参数丢失");
//                }
//                String nextNodeId = "";
//                String nextNodeDbrId = "";
//                if (StringUtils.isNotBlank(nkRsBxlc.getFsffqlc()) && nkRsBxlc.getFsffqlc().equals(CommonFlowConstant.SFFQLC_YES)) {
//
//                    if (StringUtils.isBlank(nkRsBxlc.getFlczt())) {
//                        nkRsBxlc.setFlczt(CommonFlowConstant.FLOW_LCZB);
//                    }
//
//                    //使用流程编码查询流程模板
//                    List<SysFlowTemple> templeList = sysFlowTempleService.list(new LambdaQueryWrapper<SysFlowTemple>().eq(SysFlowTemple::getFlcbm, lcmbCode));
//                    String templeId = templeList.get(0).getId();
//
//                    List<SysFlowNode> cwshNodeList = sysFlowNodeService.list(new LambdaQueryWrapper<SysFlowNode>().eq(SysFlowNode::getFlcmbid, templeId)
//                            .eq(SysFlowNode::getFjdmc, OaFlowConstant.BXSQLC_HJMC_CWSH));
//
//                    String cwshnodeId = cwshNodeList.get(0).getId(); //财务审核节点id
//                    String ftjrid = nkRsBxlc.getFtjrid(); //报销人id
//                    YcSysUser ycSysUser = ycSysUserService.getById(ftjrid);
//
//                    //先判断是否为中心副主任 。在继续判断 是否是科室负责人
//                    if (ycSysUser.getOrgName().contains(CommonFlowConstant.ORG_NAME_ZXFZR)) {
//                        //如果填报部门为中心副主任 则跳到 分管审批  且环节待办人为中心主任
//                        nextNodeId = cwshnodeId;
//                        nextNodeDbrId = "";
//                    } else if (flowNodeDbrService.brksfzr()) {
//                        nextNodeId = cwshnodeId;
//                        nextNodeDbrId = "";
//                    } else {
//                        nextNodeId = "";
//                        nextNodeDbrId = "";
//                    }
//
//
//
//                    Result result1 = newNkRsBxlcFlowService.passJob(oaid,job.getId(),"同意", nextNodeId, nextNodeDbrId);
//                    if (!result1.isSuccess()) {
//                        return HttpResult.error(result.getMessage());
//                    }
//                    msg = "提交成功";
//                    //提交完成后 更新通知信息
//                    sysTzMessageService.tjMessage(oaid);
//
//                    List<OaProcessBusiness> oaProcessBusinessList1 = oaProcessBusinessService.list(new LambdaQueryWrapper<OaProcessBusiness>()
//                            .eq(OaProcessBusiness::getFpid, oaid));
//                    OaProcessBusiness oaProcessBusiness = oaProcessBusinessList1.get(0);
//                    OaProcessBusiness byId1 = oaProcessBusinessService.getById(oaProcessBusiness.getId());
//                    byId1.setFsfkch(0);
//                    byId1.setFcshdb(OaFlowConstant.FLOW_BLZT_YB);
//                    oaProcessBusinessService.updateById(byId1);
//
//                    myLcFlowService.recall(oaid);
//                }
//            }
//        }
//
//        HashMap map = new HashMap();
//        map.put("msg",msg);
//        map.put("nkMap",nkRsBxlc);
//        map.put("jobMap",job);
//        map.put("xmyszb",nkRsXmyszbbs);
//
//        return HttpResult.ok(map);
//    }
//
//    /**
//     * 内控-报销申请流程保存接口
//     */
//    @AutoLog(value = "内控-报销申请流程保存接口")
//    @ApiOperation(value = "内控-报销申请流程保存接口")
//    @PostMapping(value = "/saveFlow")
//    public HttpResult<?> saveFlow(@RequestBody OaFlowVo oaFlowVo) {
//        String submitType = CommonFlowConstant.SUBMIT_TYPE_SAVE; // 保存
//
//        String jobId = oaFlowVo.getJobid(); // 当前流程任务id
//        String oaid = oaFlowVo.getOaid(); // 当前办公主键id
//        String opinion = oaFlowVo.getOpinion(); // 办理意见
//
//        if (StringUtils.isBlank(oaFlowVo.getLcmbCode())){
//            oaFlowVo.setLcmbCode(OaFlowConstant.NK_BXSQLC);
//        }
//        if (StringUtils.isBlank(jobId)){
//            return HttpResult.error("流程任务id参数丢失，请联系管理员");
//        }
//        // 流程处理
//        Result httpResult = newNkRsBxlcFlowService.handleFlow(oaFlowVo, null, jobId, oaid, submitType, opinion);
//        if (!httpResult.isSuccess()){
//            return HttpResult.error(httpResult.getMessage());
//        }
//        Map map = new HashMap();
//        HttpResult<Object> res = new HttpResult<>(true);
//        res.setMessage("保存成功");
//        res.setResult(map);
//        return res;
//    }
//
//    @AutoLog(value = "内控-根据项目预算指标id查询")
//    @ApiOperation(value = "内控-根据项目预算指标id查询")
//    @GetMapping(value = "/selectxmyszb")
//    public HttpResult<?> selectxmyszb(String xmyszbid){
//        List<NkRsXmyszbb> list = new ArrayList();
//        if (StringUtils.isNotBlank(xmyszbid)){
//             list = nkRsXmyszbbService.list(new LambdaQueryWrapper<NkRsXmyszbb>().eq(NkRsXmyszbb::getId, xmyszbid));
//        }
//
//        return HttpResult.ok(list);
//    }
//
//
//    @AutoLog(value = "内控-报销申请流程提交接口")
//    @ApiOperation(value = "内控-报销申请流程提交接口")
//    @PostMapping(value = "/submitFlow")
//    public HttpResult<?> submitFlow(@RequestBody OaFlowVo oaFlowVo) {
//
//        String submitType = CommonFlowConstant.SUBMIT_TYPE_SUBMIT; // 提交
//
//        String jobId = oaFlowVo.getJobid();
//        String oaid = oaFlowVo.getOaid();
//        String opinion = oaFlowVo.getOpinion();
//        NkRsBxlc oaId = nkRsBxlcService.getById(oaid);
//        OaJob jobid = spcySqsxJobService.getById(jobId);
//        if (StringUtils.isBlank(oaFlowVo.getLcmbCode())){
//            oaFlowVo.setLcmbCode(OaFlowConstant.NK_BXSQLC);
//        }
//
//
//        if (jobid.getFhjmc().equals(OaFlowConstant.YSTPSQ_HJMC_KSSP)) {
//
//        } else {
//            oaId.setFlczt(CommonFlowConstant.FLOW_LCZB);
//        }
//        if (StringUtils.isBlank(oaId.getFsffqlc())) {
//            oaId.setFsffqlc(CommonFlowConstant.SFFQLC_YES);
//        }
//
//        nkRsBxlcService.updateById(oaId);
//
//        if (StringUtils.isBlank(jobId)) {
//            return HttpResult.error("流程任务id参数丢失，请联系管理员");
//        }
//        /* if (StringUtils.isBlank(opinion)){
//            return HttpResult.error("请填写办理意见");2
//        }*/
//        OaJob nowJob = null;
//        Result httpResult1 = newNkRsBxlcFlowService.handleFlow(oaFlowVo, nowJob, jobId, oaid, submitType, opinion);
//        if (!httpResult1.isSuccess()){
//            return HttpResult.error(httpResult1.getMessage());
//        }
//        List<OaProcessBusiness> oaProcessBusinessList1 = oaProcessBusinessService.list(new LambdaQueryWrapper<OaProcessBusiness>()
//                .eq(OaProcessBusiness::getFpid, oaid));
//        OaProcessBusiness oaProcessBusiness = oaProcessBusinessList1.get(0);
//        OaProcessBusiness byId1 = oaProcessBusinessService.getById(oaProcessBusiness.getId());
//        byId1.setFsfkch(0);
//
//        byId1.setFcshdb(OaFlowConstant.FLOW_BLZT_YB);
//        oaProcessBusinessService.updateById(byId1);
//        //提交完成后 更新待办信息
//        sysTzMessageService.tjMessage(oaid);
//        myLcFlowService.recall(oaid);
//
//
//        return HttpResult.ok("提交成功");
//    }
//
//
//    /**
//     * 批量查询
//     */
//    @AutoLog(value = "批量查询")
//    @ApiOperation(value = "批量查询")
//    @ApiImplicitParam(value = "jobids", name = "jobids", required = true)
//    @GetMapping(value = "queryBatchJobByJobIds")
//    public HttpResult<?> queryBatchJobByJobIds(@RequestParam("jobids")String jobids) {
//        if (StringUtils.isBlank(jobids)) {
//            return HttpResult.error("参数不能为空,请选择数据");
//        }
//        List<Map> mapList = new ArrayList<>();
//        List<String> jobidsList = Arrays.asList(jobids.split(","));
//        if (CollectionUtils.isNotEmpty(jobidsList)) {
//            for (String jobid : jobidsList){
//                mapList.add(newNkRsBxlcFlowService.getJobConcernByJobId(jobid));
//            }
//        }
//        return HttpResult.ok(mapList);
//    }
//
//    /**
//     * 查询当前流程任务详情-通过当前流程任务id
//     */
//    @AutoLog(value = "查询当前流程任务详情-通过当前流程任务id")
//    @ApiOperation(value = "查询当前流程任务详情-通过当前流程任务id")
//    @ApiImplicitParam(value = "jobid", name = "流程任务id", required = true)
//    @GetMapping(value = "queryJobByJobId")
//    public HttpResult<?> queryJobByJobId(@RequestParam("jobid") String jobid) {
//        if (StringUtils.isBlank(jobid)) {
//            return HttpResult.error("流程任务id不能为空");
//        }
//        Map map = newNkRsBxlcFlowService.getJobConcernByJobId(jobid);
//        return HttpResult.ok(map);
//    }
//
//    /**
//     * 获取已办列表-通过当前流程id-自定义退回
//     *
//     * @param jobid
//     * @return
//     */
//    @AutoLog(value = "获取已办列表-通过当前流程id-自定义退回")
//    @ApiOperation(value = "获取已办列表-通过当前流程id-自定义退回")
//    @ApiImplicitParams(value = {
//            @ApiImplicitParam(name = "jobid", value = "流程任务id"),
//            @ApiImplicitParam(name = "isZdhj", value = "是否指定环节，默认：true，指定")
//    })
//    @GetMapping(value = "queryAllYbJob")
//    public HttpResult<?> queryAllYbJob(@RequestParam(value = "jobid", defaultValue = "") String jobid,
//                                       @RequestParam(value = "isZdhj", defaultValue = "true") boolean isZdhj) {
//        List<Map<String, String>> currentJobPrevious = newNkRsBxlcFlowService.getCurrentJobPrevious(jobid, isZdhj);
//        return HttpResult.ok(currentJobPrevious);
//    }
//
//    /**
//     * 退回环节
//     *
//     * @return
//     */
//    @AutoLog(value = "自定义-退回环节")
//    @ApiOperation(value = "自定义-退回环节")
//    @PostMapping(value = "returnUpperzdyFlowJob")
//    public HttpResult<?> returnUpperzdyFlowJob(@RequestBody OaReturnVo oaReturnVo) {
//        newNkRsBxlcFlowService.returnZdJob(oaReturnVo);
//        OaJob oaJob = spcySqsxJobService.getById(oaReturnVo.getJobid());
//        OaJob thjob = spcySqsxJobService.getById(oaReturnVo.getShjid());
//
//        NkRsBxlc nkRsBxlc = nkRsBxlcService.getById(oaJob.getFpid());
//
//
//        //如果退回的环节是第一步 则 跟更新项目预算指标
//        if (thjob.getFhjmc().equals( OaFlowConstant.BXSQLC_HJMC_BXDJ) && nkRsBxlc.getFsfyfk().equals(NkConstant.SFYFK_YES)){
//            newNkRsBxlcFlowService.thSfyfk(oaJob.getFpid());
//        }
//
//        //退回更新通知信息
//
//        String fpid = oaJob.getFpid();
//        sysTzMessageService.endMessage(fpid,false,false,true);
//
//        return HttpResult.ok("退回成功");
//    }
//
//    @AutoLog(value = "删除报销申请")
//    @ApiOperation(value = "删除报销申请")
//    @ApiImplicitParams(value = {
//            @ApiImplicitParam(name = "jobids",value = "流程任务id,逗号分割",required = true)
//    })
//    @DeleteMapping(value = "deleteLgqsFlowJob")
//    public HttpResult<?> deleteLgqsFlowJob(@RequestParam(value = "jobids") String jobids){
//        if (StringUtils.isBlank(jobids)){
//            return HttpResult.error("参数不能为空");
//        }
//        List<String> jobIdList = Arrays.asList(jobids.split(","));
//        String logNr = "";
//        Map<String, Object> map = new HashMap<>();
//        if (CollectionUtils.isNotEmpty(jobIdList)){
//            List<OaJob> jobList = spcySqsxJobService.listByIds(jobIdList);
//            if (CollectionUtils.isNotEmpty(jobList)){
//                for (OaJob job : jobList) {
//                    spcySqsxJobService.removeById(job.getId());
//                    NkRsBxlc nkRsYstpsq = nkRsBxlcService.getById(job.getFpid());
//                    if (nkRsYstpsq != null) {
//                        nkRsBxlcService.removeById(job.getFpid());
//                        newNkRsBxlcFlowService.delBxmx(job.getFpid());
//
//                        logNr = "删除报销申请" + job.getFhjmc() + ": ";
//                        map = ObjectToMapUtils.objectToMap(nkRsYstpsq);
//                        logNr += LogUtils.MapToStringMethod(map);
//
//                        spcyLogService.addLogs(job.getFhjmc(), logNr, job.getFpid(), OaFlowConstant.NK_BXSQLC, CommonFlowConstant.LOGS_SYS_TYPE_SC);
//                    }
//                }
//            }
//        }
//
//        return HttpResult.ok("删除成功");
//    }
//
//
//
//
//
//}
